package com.ruoyi.business.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 库存盘点对象 jt_stocktaking
 * 
 * @author Alan Zhang
 * @date 2025-06-13
 */
public class JtStocktaking extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库存盘点id */
    private Long stocktakingId;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;
    /** 仓库 */
    @Excel(name = "仓库")
    private String warehouseName;

    /** 盘点单号 */
    @Excel(name = "盘点单号")
    private String inventoryListNumber;

    /** 单据日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "单据日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date documentDate;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 盘点前总数量 */
    @Excel(name = "盘点前总数量")
    private Long preTotalQty;

    /** 盘点后总数量 */
    @Excel(name = "盘点后总数量")
    private Long postTotalQty;

    /** 审核人 */
    @Excel(name = "审核人")
    private String reviewer;

    /** 生效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validationTime;

    /** 库存盘点明细信息 */
    private List<JtStocktakingItem> jtStocktakingItemList;

    public void setStocktakingId(Long stocktakingId) 
    {
        this.stocktakingId = stocktakingId;
    }

    public Long getStocktakingId() 
    {
        return stocktakingId;
    }

    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public void setInventoryListNumber(String inventoryListNumber)
    {
        this.inventoryListNumber = inventoryListNumber;
    }

    public String getInventoryListNumber() 
    {
        return inventoryListNumber;
    }

    public void setDocumentDate(Date documentDate) 
    {
        this.documentDate = documentDate;
    }

    public Date getDocumentDate() 
    {
        return documentDate;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public void setPreTotalQty(Long preTotalQty) 
    {
        this.preTotalQty = preTotalQty;
    }

    public Long getPreTotalQty() 
    {
        return preTotalQty;
    }

    public void setPostTotalQty(Long postTotalQty) 
    {
        this.postTotalQty = postTotalQty;
    }

    public Long getPostTotalQty() 
    {
        return postTotalQty;
    }

    public void setReviewer(String reviewer) 
    {
        this.reviewer = reviewer;
    }

    public String getReviewer() 
    {
        return reviewer;
    }

    public void setValidationTime(Date validationTime) 
    {
        this.validationTime = validationTime;
    }

    public Date getValidationTime() 
    {
        return validationTime;
    }

    public List<JtStocktakingItem> getJtStocktakingItemList()
    {
        return jtStocktakingItemList;
    }

    public void setJtStocktakingItemList(List<JtStocktakingItem> jtStocktakingItemList)
    {
        this.jtStocktakingItemList = jtStocktakingItemList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("stocktakingId", getStocktakingId())
            .append("warehouseId", getWarehouseId())
            .append("inventoryListNumber", getInventoryListNumber())
            .append("documentDate", getDocumentDate())
            .append("status", getStatus())
            .append("preTotalQty", getPreTotalQty())
            .append("postTotalQty", getPostTotalQty())
            .append("reviewer", getReviewer())
            .append("validationTime", getValidationTime())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("jtStocktakingItemList", getJtStocktakingItemList())
            .toString();
    }
}
